<?xml version='1.0' encoding='UTF-8' ?>
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./layout/mainTemplate.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"  
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:c="http://java.sun.com/jsp/jstl/core">
    <ui:define name="top">
        <h:outputLabel value="Pedido" class="tituloPrincipal"/>
    </ui:define>

    <ui:define name="left">
    </ui:define>
    <ui:define name="content">
        <h:form id="contenido">

            <p:panel header="Pedido">
                <p:panelGrid columns="2">
                    
                    <h:outputLabel value="ID" rendered="#{pedidoAction.modoModificar}" />
                    <p:inputText value="#{pedidoAction.pedido.idPedido}" rendered="#{pedidoAction.modoModificar}" id="id" disabled="true"/>
                    
                    <h:outputLabel value="Estado" rendered="#{pedidoAction.modoModificar}"/>
                    <p:inputText value="#{pedidoAction.pedido.estado}" id="estado" rendered="#{pedidoAction.modoModificar}"/>
                                        
                    <h:outputLabel value="Cedula" rendered="#{!pedidoAction.modoModificar}"/>
                    <p:inputText value="#{pedidoAction.cedulaRuc}" rendered="#{!pedidoAction.modoModificar}" id="cedula"/>
                    
                    <h:outputLabel value="Fecha de ingreso" rendered="#{!pedidoAction.modoModificar}"/>
                    <p:calendar value="#{pedidoAction.pedido.fechaIngreso}" rendered="#{!pedidoAction.modoModificar}" showButtonPanel="true" id="fechai"/>

                    <h:outputLabel value="Fecha de entrega" rendered="#{!pedidoAction.modoModificar}" />
                    <p:calendar value="#{pedidoAction.pedido.fechaEntrega}" rendered="#{!pedidoAction.modoModificar}" showButtonPanel="true" id="fechas"/>

                    <h:outputLabel value="Dirección" rendered="#{!pedidoAction.modoModificar}"/>
                    <p:selectOneMenu id="menudireccion" rendered="#{!pedidoAction.modoModificar}" value="#{pedidoAction.direccionSel}" converter="direccionConverter"
                                     var="d" style="width:160px"  filter="true" filterMatchMode="startsWith" height="200" >  
                        <f:selectItem itemLabel="Seleccionar" itemValue="" />  
                        <f:selectItems value="#{pedidoAction.listaDirecciones}" var="direccionConverter" 
                                       itemLabel="#{direccionConverter.callePrincipal}" itemValue="#{direccionConverter}"/>

                        <p:column>
                            #{d.callePrincipal} - #{d.calleSecundaria}
                        </p:column>
                    </p:selectOneMenu>                    
                    
                    <h:outputLabel value="Producto" rendered="#{!pedidoAction.modoModificar}"/>
                    <p:selectOneMenu id="menuproductos" rendered="#{!pedidoAction.modoModificar}" value="#{pedidoAction.productoSel}" converter="productoConverter"
                                     var="p" style="width:160px"  filter="true" filterMatchMode="startsWith" height="200" >  
                        <f:selectItem itemLabel="Seleccionar" itemValue="" />  
                        <f:selectItems value="#{productoAction.listaProductos}" var="productoConverter" 
                                       itemLabel="#{productoConverter.nombreProducto}" itemValue="#{productoConverter}"/>

                        <p:column>
                            #{p.nombreProducto}
                        </p:column>
                    </p:selectOneMenu>

                    <h:outputLabel rendered="#{!pedidoAction.modoModificar}" value="Cantidad"/>
                    <p:inputText rendered="#{!pedidoAction.modoModificar}" value="#{pedidoAction.cantidad}" id="cantidad"/>

                    <h:panelGroup/>
                    <p:commandButton  value="Agregar producto" rendered="#{!pedidoAction.modoModificar}" action="#{pedidoAction.agregarProducto()}" ajax="false"/>
                    
                    <h:panelGroup/>
                    <p:messages id="messagesgproducto" showDetail="true" autoUpdate="true" closable="true" > 
                        <p:effect type="fade" event="load" delay="3000" />
                    </p:messages>
                </p:panelGrid>

                <p:dataTable value="#{pedidoAction.listaDetalleProducto}" rendered="#{!pedidoAction.modoModificar}" var="detallePedido" id="tablaDetPed" >
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Producto"/>
                        </f:facet>
                        <h:outputText value="#{detallePedido.producto.nombreProducto}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Caduca en"/>
                        </f:facet>
                        <h:outputText value="#{detallePedido.fechaCaducidad}" >
                            <f:convertDateTime pattern="MM/dd/yyyy" />
                        </h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Cantidad"/>
                        </f:facet>
                        <h:outputText value="#{detallePedido.cantidad}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Precio"/>
                        </f:facet>
                        <h:outputText value="#{detallePedido.precio}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Total"/>
                        </f:facet>
                        <h:outputText value="#{detallePedido.precio * detallePedido.cantidad}"/>
                    </p:column>
                    <p:column>
                        <p:commandLink value="Quitar" action="#{pedidoAction.quitarDeLista(detallePedido)}" ajax="false"/>
                    </p:column>
                </p:dataTable>
            </p:panel>
            <p:panelGrid columns="2">
                <p:commandButton value="Guardar" action="#{pedidoAction.guardar()}" ajax="false"/>
                <p:commandButton value="Cancelar" action="#{pedidoAction.cancel()}" ajax="false"/>
            </p:panelGrid>
        </h:form>
    </ui:define>
</ui:composition>